home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / data / nyan_e2 / set_nyan.plt < prev    next >
Text File  |  1993-11-30  |  33KB  |  1,214 lines

  1. var modem[40];        /* modem 種別 /NoMNPAT/MNPAT/会社名モデム機種名    */
  2. var telno[30];        /* 電話番号                    */
  3. var telty[10];        /* 回線の種別 1200|2400|2400T|9600        */
  4. var telno2[30];        /* 電話番号(Retry)                */
  5. var telty2[10];        /* 回線の種別(Retry) 1200|2400|2400T        */
  6. var telno3[30];        /* 電話番号(Retry)                */
  7. var telty3[10];        /* 回線の種別(Retry) 1200|2400|2400T        */
  8. var line[5];        /* プッシュ回線か,ダイヤル回線か T/P        */
  9. var id[10];        /* NIFTYのユーザID                */
  10. var pass[10];        /* パスワード                    */
  11. var logd[30];        /* ログ格納用ディレクトリ(最後の\はなし)    */
  12. var logc1[30];        /* 会議室ログマージディレクトリ1        */
  13. var logc2[8];        /* 会議室ログマージディレクトリ2        */
  14. var logh1[30];        /* HPログマージディレクトリ            */
  15. var logm1[30];        /* メールログマージディレクトリ            */
  16. var logb1[30];        /* 掲示板ログマージディレクトリ1        */
  17. var logb2[8];        /* 掲示板ログマージディレクトリ2        */
  18. var loga1[30];        /* 案内ログマージディレクトリ1            */
  19. var loga2[8];        /* 案内ログマージディレクトリ2            */
  20. var forum[500];        /* フォーラム名( 「/」 で複数)             */
  21. var hp[500];        /* HP ID/HPパスワード/HP名( 「,」 で複数)    */
  22. var proc[5];        /* 処理要求.Down:DownOnly, Up:UpOnly, Both:Both*/
  23. var st[5];        /* file受信Status                */
  24. var Treq[10];        /* Make Title Requset                */
  25. var Mode[4];        /* 「AUTO」or「OPER」 タイマ通信時のみAUTOとする    */
  26. var Rmail[10];        /* RMAIL実行フォーラム名(SysOp or SubSysOpのみ)    */
  27. var Smail[10];        /* SMAIL実行フォーラム名            */
  28. var mail[3];        /* NEW:(NEW and SAV), ALL:(ALL and DEL)で動作    */
  29. var FmgrP[30];        /* 呼び出すパイロットのpath名            */
  30. var FmgrF[15];        /* 呼び出すパイロットの呼出し名(#file)        */
  31. var SetupF[15];        /* Setup File Name                */
  32. var Itime[6];        /* Manual Mode Alarm Interval Time        */
  33. var MesType[3];        /* 会議室の形式 (NEW or OLD)            */
  34. %mrgsuff {.ALL};    /* マージファイルの拡張子を指定する        */
  35. var logl[30];        /* ライブラリリスト保存親ディレクトリ        */
  36. var logf[30];        /* ライブラリデータ保存ディレクトリ        */
  37. var lib[500];        /* ライブラリ名( 「/」 で複数)            */
  38. var BILL[2];        /* 課金情報の取得の是非                */
  39. var Handle[500];    /* ハンドル名 IDorHP/ハンドル名( 「,」 で複数)    */
  40. var DivDisp[4];        /* {ORI}→コメントが下,{REV}→コメントが上    */
  41. var InsHan[5];        /* {HEAD}→「ハンドル:」 ,{TAIL}→「<ハンドル」        */
  42. var LIST[5];        /* ライブラリリストの取得形式 (リザーブ)    */
  43. var patio[200];        /* パティオ  ID/パスワード/PATIO名(「,」で複数)    */
  44. var GUEST[3];        /* HP,パティオ開設者が「GUEST」をするかの是非    */
  45. var WTIME[6];        /* 時刻指定通信時の開始時刻のデフォルト        */
  46. var PRINTER[5];        /* 使用するプリンタの種類 {fm}or{esc/p}        */
  47. var rtn[700];
  48. var cugname[10];    /* CUGの設定                    */
  49. var tmpdir[30];
  50. var R[3];
  51. var G[3];
  52. var B[3];
  53.  
  54. %CloseAllMemo{
  55.     case(@mcheck !=0,
  56.     {Yes},{ loop({ mclose(2);
  57.                im(@mcheck !=0)
  58.         });
  59.     });
  60. };
  61.  
  62. %allclear{
  63.     loop({ 
  64.         case(@mlast<>{0},
  65.         {Yes},{case(@mcheck,{0},{mopen(1); }); mclose(3);
  66.             im({Yes});
  67.         },{No},{ im({No});
  68.         });
  69.     });
  70. };
  71.  
  72. %setcdir2 {[dir]
  73.     %dir2 @case(@nochar(dir),
  74.         2,{im(dir|{\})},,{im(dir)});
  75.     setcdir(dir2);
  76. };
  77.  
  78. %getcdir2 {
  79.     case(@nochar(@getcdir),
  80.          3,{im(@getchar(@getcdir,1,2));
  81.     },,{im(@getcdir);
  82.     });
  83. };
  84.  
  85. %click    {\n  (右クリックで終了すると、未設定とみなします)};
  86.  
  87. %YesNo2{[MSG,CMD]
  88.     loop({
  89.         select(MSG,9999,{im({Yes});
  90.         },{ O K },{CMD; im({No});
  91.         },{ N G },{im({No});
  92.         });
  93.     });
  94. };
  95.  
  96. /**********   設定処理ルーチン群   **********/
  97. %current @getcdir2;
  98. %curfile current|{\MOPSET.PLP};
  99.  
  100. %setloadf{
  101.     footnote({ 設定情報が格納されたファイルを指定してください});
  102.     setcdir2(current);
  103.     %file    @filesel({USR});
  104.     %fname    @head(file,{.})|{.USR};
  105.     footnote({});
  106.     case(@filechk(fname),
  107.     {Yes}, {copyfile(fname,curfile);
  108.         NyanInit(current);
  109.         postproc:={thru};
  110.         SetupF  :=fname;
  111.     },{No},{select(
  112.         {指定のファイル「}|fname|{」が存在しません},10,,{確  認});
  113.     });
  114.     im(@filechk(fname)<>{Yes});
  115. };
  116.  
  117. %setat{
  118.     var type[10];
  119.     type := @select({ どういうタイプのモデムですか?}
  120.     ,99999,{im({})},
  121.     {  1200                   MNPなし  },     {im({1200n})},
  122.     {  2400                   MNPなし  },    {im({2400n})},
  123.     {  2400(端末速度2400)     MNPあり  },    {im({2400m})},
  124.     {  2400(端末速度4800)     MNPあり  },    {im({4800m})},
  125.     {  2400以上(端末速度9600以上) MNPあり  },    {im({9600m})}
  126.      );
  127.     case(type<>{},{Yes},{
  128.         %a @input({ ATコマンド設定してください.例「ATX3\N3\V1\Q3\J0」},,
  129.             {AT}|@head(modem,{/}));
  130.         case(a<>{},{Yes},{
  131.             case(@getchar(a,1,2),
  132.             {AT},{
  133.                 case( a = @head(a,{\}),
  134.                 {Yes},{modem:=@getchar(a,3,999)|{/}|
  135.                     @getchar(a,3,999)|{/AT直接指定_}|type;
  136.                 },,{   modem:=@getchar(a,3,999)|{/}|
  137.                     {/AT直接指定_}|type;
  138.                 });
  139.             }, ,{setat;
  140.             });
  141.         });
  142.     });
  143. };
  144.  
  145. %FUJITSU{
  146.     select({モデムの機種を選んでください.現在は「}|NowModem|{」です},
  147.         9999,{},
  148.     {内蔵1200},     {modem:={X3//内蔵1200_1200n}},
  149.     {内蔵2400},    {modem:={X3/\N3\V1\Q3\J0%C0/内蔵2400_9600m}},
  150.     {富士通 PM1200F},{modem:={X3//PM1200F_1200n}},
  151.     {富士通 PM2400F},{modem:={X3/\N3\V1\Q3\J0%C0/PM2400F_9600m}},
  152.     {富士通 PM2400FII},{modem:={X3/\N7\Q3\J0\V2%C0/PM2400FII_9600m}},
  153.     {富士通 OAMD-301},{modem:={X3&D2/\N3\Q3\J0\V2/OAMD-301_9600m}},
  154.     {メニューに戻る},{loopon:={Yes};
  155.     });
  156. };
  157. %AIWA{
  158.     select({モデムの機種を選んでください.現在は「}|NowModem|{」です},
  159.         9999,{},
  160.     {AIWA PV-A1200},{modem:={X3//PV-A1200_1200n}},
  161.     {AIWA PV-A2400},{modem:={X3//PV-A2400_2400n}},
  162.     {AIWA PV-A2400MNP4},{modem:={&D2/&M4\Q1/PV-A2400MNP4_9600m}},
  163.     {AIWA PV-A24MNP5},{modem:={X3&D2/\N3\Q3\J0/PV-A24MNP5_9600m}},
  164.     {AIWA PV-A24V42},{modem:={X3&D2/\N3\Q3\J0/PV-A24V42_9600m}},
  165.     {AIWA PV-M24},{modem:={X3&D2/\N3\Q3\J0\V2/PV-M24_9600m}},
  166.     {AIWA PV-M24M5},{modem:={X3&D2/\N3\Q3\J0\V2/PV-M24M5_9600m}},
  167.     {AIWA PV-M24B5},{modem:={X3&D2/\N3\Q3\J0\V2%C0/PV-M24B5_9600m}},
  168.     {AIWA PV-A96V5},{modem:={X3&D2/\N3\Q3\J0\V2%C0/PV-A96V5_9600m}},
  169.     {メニューに戻る},{loopon:={Yes};
  170.     });
  171. };
  172.  
  173. %OMRON    {
  174.     select({モデムの機種を選んでください.現在は「}|NowModem|{」です},
  175.         9999,{},
  176.     {OMRON MD1200},{modem:={X3//MD1200_1200n}},
  177.     {OMRON MD12FS},{modem:={X3//MD12FS_1200n}},
  178.     {OMRON MD2400F},{modem:={X3/\N3\V1\Q2\J0/MD2400F_2400m}},
  179.     {OMRON MD24FB5V},{modem:={X4/\N3\Q2\J0\V2%C0/MD24FB5V_9600m}},
  180.     {OMRON MD24FP4},{modem:={X3/\N3\Q2\J0/MD24FP4_2400m}},
  181.     {OMRON MD24FP4II},{modem:={X3&P2/\N3\Q2\J0/MD24FP4II_9600m}},
  182.     {OMRON MD24FP5V},{modem:={X3/\N3\Q2\J0\V2%C0/MD24FP5V_9600m}},
  183.     {OMRON MD24FS4},{modem:={X3/\N3\Q2\J0/MD24FS4_2400m}},
  184.     {OMRON MD24FS5},{modem:={X3/\N3\Q2\J0/MD24FS5_2400m}},
  185.     {OMRON MD24FS7},{modem:={X3/\N3\Q2\J0/MD24FS7_2400m}},
  186.     {メニューに戻る},{loopon:={Yes};
  187.     });
  188. };
  189.  
  190. %EPSON    {
  191.     select({モデムの機種を選んでください.現在は「}|NowModem|{」です},
  192.         9999,{},
  193.     {EPSON SR-120S},{modem:={X3//SR-120S_1200n}},
  194.     {EPSON SR-240AT},{modem:={X3//SR-240AT_2400n}},
  195.     {EPSON SR-240V},{modem:={X3\V2/N1&K1%C0/SR-240V_9600m}},
  196.     {メニューに戻る},{loopon:={Yes};
  197.     });
  198. };
  199.  
  200. %NEC    {
  201.     select({モデムの機種を選んでください.現在は「}|NowModem|{」です},
  202.         9999,{},
  203.     {NEC COMSTAR 2424},{modem:={X3/\N3\Q2/COMSTAR 2424_2400m}},
  204.     {メニューに戻る},{loopon:={Yes};
  205.     });
  206. };
  207.  
  208. %SONY    {
  209.     select({モデムの機種を選んでください  現在は「}|NowModem|{」です},
  210.         9999,{},
  211.     {SONY IT-V1200},{modem:={X3//IT-V1200_1200n}},
  212.     {メニューに戻る},{loopon:={Yes};
  213.     });
  214. };
  215.  
  216. %MICROCORE{
  217.     select({モデムの機種を選んで下さい  現在は「}|NowModem|{」です},
  218.         9999,{},
  219.     {MICROCORE MC24PA5},{modem:={X3/\N3\Q2\J0\X1%C0/MC24PA5_9600m}},
  220.     {メニューに戻る},{loopon:={Yes};
  221.     });
  222. };
  223.  
  224. %setmodem{
  225.     var loopon[4];
  226.     %NowModem    @head(@tail(modem,{/}),{_});
  227.     loop({
  228.         loopon:={No};
  229.         select({ メーカーを選んで下さい.現在のモデムは「}|
  230.             NowModem|{」です},99999,{
  231.         },{      FUJITSU      },{FUJITSU;
  232.         },{         AIWA         },{AIWA;
  233.         },{        OMRON        },{OMRON;
  234.         },{        EPSON        },{EPSON;
  235.         },{          NEC          },{NEC;
  236.         },{         SONY         },{SONY;
  237.         },{       マイクロコア       },{MICROCORE;
  238.         },{     ATコマンド直設定     },{setat;
  239.         },{        変更しない        },{
  240.         });
  241.         im(loopon={Yes});
  242.     });
  243. };
  244.  
  245. %settelno{
  246.     %a @input({ 近くのNiftyの電話番号を設定してください.例「0559235038」},,
  247.         telno);
  248.     case(a<>{},{Yes},{telno:=a});
  249. };
  250.  
  251. %settelty{
  252.     %name @case(telty,
  253.         {1200},{im({1200 ROAD1})},
  254.         {2400},{im({2400 ROAD1})},
  255.         {2400T},{im({2400 ROAD2})},
  256.         {9600},{im({9600 ROAD3})},
  257.               ,{im({設定なし})} );
  258.     select({ アクセス・ポイントのタイプを選んでください.現在は「}|name|{」です},99999,{
  259.     },{   変更しない  },{
  260.     },{  回線速度=1200 ROAD1  },{telty :={1200}
  261.     },{  回線速度=2400 ROAD1  },{telty :={2400}
  262.     },{  回線速度=2400 ROAD2  },{telty :={2400T}
  263.     },{  回線速度=9600 ROAD3  },{telty :={9600}
  264.     });
  265. };
  266.  
  267. %setline{
  268.     %name @case(line,
  269.         {T},{im({プッシュ回線})},
  270.         {P},{im({ダイヤル回線})},
  271.               ,{im({設定なし})} );
  272.     select({ 電話回線のタイプを選んでください.現在は「}|name|{」です}
  273.     ,99999,{},
  274.     {   変更しない  },{},
  275.     {  プッシュ回線  },{line:={T}},
  276.     {  ダイヤル回線  },{line:={P}})
  277.     
  278. };
  279.  
  280. %settel2{
  281.     loop({
  282.     select({ 設定する項目を選択してください},99999,{im({No})
  283.     },{最寄りのNiftyのアクセスポイントの電話番号},{
  284.         %a @input({ 近くのNiftyの電話番号を設定してください.}|
  285.             {例「0559235038」},,telno2);
  286.         case(a<>{},{Yes},{telno2 := a});
  287.         im({Yes});
  288.     },{最寄りのアクセスポイントの種別(速度・ROAD)},{
  289.         %name @case(telty2,
  290.             {1200},{im({1200 ROAD1})},
  291.             {2400},{im({2400 ROAD1})},
  292.             {2400T},{im({2400 ROAD2})},
  293.             {9600},{im({9600 ROAD3})},
  294.                   ,{im({設定なし})} );
  295.         select({ アクセス・ポイントのタイプを選んでください.}|
  296.             {現在は「}|name|{」です},99999,{
  297.         },{   変更しない  },{
  298.         },{  回線速度=1200 ROAD1  },{telty2:={1200}
  299.         },{  回線速度=2400 ROAD1  },{telty2:={2400}
  300.         },{  回線速度=2400 ROAD2  },{telty2:={2400T}
  301.         },{  回線速度=9600 ROAD3  },{telty2:={9600}
  302.         });
  303.         im({Yes});
  304.     },{第2候補の設定処理を終了する},{im({No});
  305.     });
  306.     });
  307. };
  308.  
  309. %settel3{
  310.     loop({
  311.     select({ 設定する項目を選択してください},99999,{im({No})
  312.     },{最寄りのNiftyのアクセスポイントの電話番号},{
  313.         %a @input({ 近くのNiftyの電話番号を設定してください.}|
  314.             {例「0559235038」},,telno3);
  315.         case(a<>{},{Yes},{telno3 := a});
  316.         im({Yes});
  317.     },{最寄りのアクセスポイントの種別(速度・ROAD)},{
  318.         %name @case(telty3,
  319.             {1200},{im({1200 ROAD1})},
  320.             {2400},{im({2400 ROAD1})},
  321.             {2400T},{im({2400 ROAD2})},
  322.             {9600},{im({9600 ROAD3})},
  323.                   ,{im({設定なし})} );
  324.         select({ アクセス・ポイントのタイプを選んでください.}|
  325.             {現在は「}|name|{」です},99999,{
  326.         },{   変更しない  },{
  327.         },{  回線速度=1200 ROAD1  },{telty3 :={1200}
  328.         },{  回線速度=2400 ROAD1  },{telty3 :={2400}
  329.         },{  回線速度=2400 ROAD2  },{telty3 :={2400T}
  330.         },{  回線速度=9600 ROAD3  },{telty3 :={9600}
  331.         });
  332.         im({Yes});
  333.     },{第3候補の設定処理を終了する},{im({No});
  334.     });
  335.     });
  336. };
  337.  
  338. %setintv{
  339.     loop({
  340.         %a @input({ アラーム間隔時間を秒単位で入力してください},,
  341.                 Itime);
  342.         case(@nochar(a)<6,
  343.         {Yes}, {Itime:=a;    im({No});
  344.         },{No},{footnote({ 6桁以内で指定してください});    im({Yes});
  345.         });
  346.     });
  347.     footnote({});
  348. };
  349.  
  350. %setbill{
  351.     var msg[10];
  352.     case(BILL={},{Yes},{BILL:={OK}});
  353.     case(BILL,{OK},{msg:={する}},{NG},{msg:={しない}},
  354.         {P},{msg:={するかも?}});
  355.     select({ 課金情報を取得しますか? (現在は「取得}|msg|{」)},
  356.     9999,{
  357.     },{  取得する },{BILL:={OK};
  358.     },{ 取得しない },{BILL:={NG};
  359.     },{  適時取得  },{BILL:={P};
  360.     });
  361. };
  362.  
  363. %setmail{
  364.     %dspmail{
  365.         case(mail,
  366.           {NEW},{ im({New & Sav});
  367.         },{ALL},{ im({All & Del});
  368.         },,     { im({未設定});
  369.         });
  370.     };
  371.     select({ メール受信方法を選んでください.現在は「}|@dspmail|{」です}
  372.     ,99999,{},
  373.     {          変更しない          },{},
  374.     {新規受信,既読保存 (New & Sav)},{ mail:={NEW} },
  375.     {全受信,  既読削除 (All & Del)},{ mail:={ALL} });
  376. };
  377.  
  378. %setlogx3{
  379.     %mkdir2{[path]
  380.         var drive[2];
  381.         var dir[80];
  382.         var tarpath[80];
  383.         var ret[4];
  384.         ret:={No};
  385.         dispoff({Yes});
  386.         case(@setcdir2(path),{No},{
  387.         drive:=@body(path,,{:});
  388.         dir:=@body(path,{\});
  389.         case(drive<>{},
  390.         {Yes},{
  391.             case(@setcdir2(drive|{:}),
  392.             {Yes},{
  393.                 YesNo2({「}|path|{」 を作成します},{
  394.                 tarpath:=drive|{:};
  395.                 loop({
  396.                     tarpath:=tarpath|{\}|@head(dir,{\});
  397.                     dir:=@body(dir,{\});
  398.                     case(@setcdir2(tarpath),{No},{
  399.                         command({mkdir }|tarpath);
  400.                     });
  401.                     im( dir<>{} );
  402.                 });
  403.                 ret:={Yes};
  404.                 });
  405.             },{No},{
  406.                 select({ 「}|drive|{」ドライブは使えません}
  407.                     ,10,{},    {  確認  },{});
  408.             });
  409.         },{No},{
  410.             select({ ドライブ名が設定されていません}
  411.                 ,10,{},    {  確認  },{});
  412.         });
  413.         });
  414.         dispoff({No});
  415.         im( ret );
  416.     };
  417.  
  418.     %setlogx2{[old]
  419.         case(@mkdir2(old),
  420.         {Yes},{logx := LOGX;
  421.         },{No},{
  422.             LOGX:=@input({ 格納先を設定してください.例「B:」,}|
  423.                   {「C:\NIF」\n (英小文字は使わないでください)}
  424.                     ,,old);
  425.             case(@getchar(LOGX,@nochar(LOGX),1)={\},{Yes},
  426.                 {LOGX:=@body(LOGX,,{\})});
  427.             case(LOGX<>{},{Yes},{
  428.                 case(@setcdir2(LOGX),{Yes},{logx := LOGX},
  429.                                ,{setlogx2(LOGX)})
  430.             })
  431.         });
  432.     };
  433.     var LOGX[80];
  434.     LOGX:=@input({ 格納先を設定してください.例「B:」,「C:\NIF」}|
  435.             {\n (英小文字は使わないでください)},,logx);
  436.     case(@getchar(LOGX,@nochar(LOGX),1)={\},{Yes},
  437.             {LOGX:=@body(LOGX,,{\})});
  438.     case(LOGX<>{},
  439.     {Yes}, {case(@setcdir2(LOGX),{Yes},{logx := LOGX},
  440.                        ,{setlogx2(LOGX)})
  441.     },{No},{logx:=LOGX;
  442.     })
  443. };
  444.  
  445. %setlogx{[logdrv]
  446.     var logx[20];
  447.     logx := logdrv;
  448.     %cur @case(logx,
  449.         {},  {im({未設定})},
  450.             ,{im({パスの直接設定})}
  451.     );
  452.     select({文書を格納する装置は? 現在は「}|cur|{」}
  453.     ,99999,{},
  454.     {変更しない},{},
  455.     {パスを直接入力する},    {setlogx3}
  456.     );
  457.     im(logx);
  458. };
  459.  
  460. %setlogy{[msg,dmy,init]
  461.     %path @input(msg,dmy,init);
  462.     case(path<>{} && @getchar(path,1,1)<>{\},
  463.     {Yes}, { im({\}|path);
  464.     },{No},{ im(path);
  465.     });
  466. };
  467.  
  468. %setlogd{
  469.     logd:=@setlogx(logd);
  470. };
  471.  
  472. %setlogl{
  473.     logl:=@setlogx(logl);
  474. };
  475.  
  476. %setlogf{
  477.     logf:=@setlogx(logf);
  478. };
  479.  
  480. %setlogb{
  481.     footnote({ マージ処理不要ならば,マウス右ボタンをクリック});
  482.     logb1 := @setlogx(logb1);
  483.     footnote({});
  484. };
  485.  
  486. %setlogc{
  487.     footnote({ マージ処理不要ならば,マウス右ボタンをクリック});
  488.     logc1 := @setlogx(logc1);
  489.     footnote({});
  490. };
  491.  
  492. %setlogh{
  493.     footnote({ マージ処理不要ならば,マウス右ボタンをクリック});
  494.     logh1 := @setlogx(logh1);
  495.     footnote({});
  496. };
  497.  
  498. %setlogm{
  499.     footnote({ マージ処理不要ならば,マウス右ボタンをクリック});
  500.     logm1 := @setlogx(logm1);
  501.     footnote({});
  502. };
  503.  
  504. %setid{
  505.     %setid2{[old]
  506.         %a @input({ユーザIDは8文字です。 例「BBB00123」},,
  507.             old);
  508.         case(a<>{},{Yes},{
  509.             case(@nochar(a)=8,{Yes},{id := a},
  510.                            ,{setid2(a)})
  511.         })
  512.     };
  513.  
  514.     %a @input({ NiftyのユーザIDを設定してください.例「AAA00321」},,
  515.         id);
  516.     case(a<>{},{Yes},{
  517.         case(@nochar(a)=8,{Yes},{id := a},
  518.                        ,{setid2(a)})
  519.     })
  520. };
  521.  
  522. %setpass{
  523.     %setpassn{
  524.     %setpass2{[old]
  525.         %a @input({ パスワードは8文字以下です.例「MIKENEKO」},,
  526.             old);
  527.         case(a<>{},{Yes},{
  528.             case(@nochar(a)<=8,{Yes},{pass := a},
  529.                            ,{setpass2(a)})
  530.         })
  531.     };
  532.  
  533.     %a @input({ Niftyのパスワードを設定してください.例「POCHIINU」},,
  534.         pass);
  535.     case(a<>{},{Yes},{
  536.         case(@nochar(a)<=8,{Yes},{pass := a},
  537.                        ,{setpass2(a)})
  538.     })
  539.     };
  540.     %name @case(pass,
  541.         {},{im({アクセス時に入力})},
  542.           ,{im({予め設定済})} );
  543.     select({ パスワードを設定しておきますか? 現在は「}|name|{」です。}
  544.     ,99999,{},
  545.     {   変更しない  },{},
  546.     {  他の人が使うので,アクセス時に入力する  },     {pass :={} },
  547.     {  専用なので,予め設定しておく   },    {setpassn })
  548.     
  549. };
  550.  
  551. %sethp{
  552.     var dispOne[1000];
  553.     %checkHP{[text]
  554.         %topname @head(text,{,});
  555.         %id     @head(topname,{/});
  556.         %pass     @body(topname,{/},{/});
  557.         %hpname @tail(topname,{/});
  558.         case(@nochar(id)==8 && @nochar(pass)<=8 && @nochar(hpname)<=8,
  559.             {Yes},{
  560.                 case(topname,
  561.                     text,{im({Yes})},
  562.                         ,{checkHP(@body(text,{,}))})
  563.             },,{
  564.                 footnote({「}|topname|{」は文字数が合いません});
  565.                 im({No})
  566.         })
  567.     };
  568.  
  569.     dispOne:=hp;
  570.     loop({
  571.         %a @input({巡回するHPを設定してください\n}|
  572.              {  形式「ID/パスワード/名前,ID2/パスワード2/名前2,,,」\n}|
  573.              {    ID:HP主催者のID パスワード:HPのパスワード \n}|
  574.              {    名前:英字8文字以下の名前(任意の識別名)\n}|
  575.              {   例「PFF00570/HACHIKOU/MOPROOM,}|
  576.                            {KKK00123/AKITAKEN/FUFUFU」}|click,,
  577.             dispOne);
  578.         case(a<>{},
  579.         {Yes},{
  580.             dispOne:=a;
  581.             case(@checkHP(a),{Yes},{hp:=a; im({No})},,{im({Yes})})
  582.         },{No},{
  583.             YesNo2({ HPを受信しなくてよろしいですか?},{hp:={};
  584.             });
  585.             im({No});
  586.         })
  587.     });
  588.     footnote({});
  589. };
  590.  
  591. %checkForum{[text]
  592.     %topname @head(@head(text,{/}),{(});
  593.     %lstname @head(@tail(text,{/}),{(});
  594.     %checkCcs{[rooms]
  595.         var roomnos[80];
  596.         var roomset[20];
  597.         var judge[3];
  598.         %chkroom{
  599.         case(roomno<1 || roomno>20,
  600.         {Yes},{    footnote({会議室「}|roomno|{」の値が不当です});
  601.             judge:={No};
  602.         });
  603.         };
  604.         roomnos:=rooms;
  605.         judge:={Yes};
  606.         case(roomnos<>{} && roomnos<>{ALL},{Yes},{
  607.         loop({
  608.             roomset:=@head(roomnos,{,});
  609.             roomnos:=@body(roomnos,{,});
  610.             loop({
  611.                 %roomno    @head(roomset,{-});
  612.                 chkroom;
  613.                 roomset:=@body(roomset,{-});
  614.                 im(roomset<>{});
  615.             });
  616.             im(roomnos<>{});
  617.         });
  618.         });
  619.         im(judge);
  620.     };
  621.  
  622.     case(@nochar(topname)<=8,
  623.     {Yes},{
  624.         case( @checkCcs( @body(@head(text,{/}),{(},{)}) ),
  625.         {Yes},{    case(topname,
  626.                  lstname,{im({Yes})},
  627.                 ,{checkForum(@body(text,{/}))})
  628.         },,{    im({No});
  629.         });
  630.     },,{
  631.             footnote({「}|topname|{」は8文字以上です});
  632.             im({No})
  633.     })
  634. };
  635.  
  636. %setforum{
  637.     var dispOne[1000];
  638.     dispOne:=forum;
  639.     loop({
  640.         %a @input({巡回するフォーラム名と会議室番号を設定してくださ}|
  641.               {い\n}|
  642.               {  フォーラム名の後にカッコでくくって会議室番号を}|
  643.               {指定\n}|
  644.               {  します.会議室番号番号を省略すると,全会議室を}|
  645.               {指定\n}|
  646.               {  したことになります.\n}|
  647.               {  例「FSKIER(1,2,3)/FTOWNS1/FFMPRO(9)」}|click,,
  648.             dispOne);
  649.         case(a<>{},
  650.         {Yes},{
  651.             dispOne:=a;
  652.             case(@checkForum(a),{Yes},{forum:=a; im({No})},
  653.                          ,{im({Yes})})
  654.         },{No},{
  655.             YesNo2({ フォーラムを受信しなくてよろしいですか?},
  656.                 {forum:={};
  657.             });
  658.             im({No});
  659.         })
  660.     });
  661.     footnote({});
  662. };
  663.  
  664. %setlib{
  665.     var dispOne[1000];
  666.     dispOne:=lib;
  667.     loop({
  668.         %a @input({巡回するフォーラム名とライブラリ番号を設定してく}|
  669.              {ださい\n}|
  670.               { フォーラム名の後にカッコでくくってライブラリ番}|
  671.              {号を\n}|
  672.              { ひとつずつ指定します.ライブラリ番号を省略する}|
  673.               {と,\n}|
  674.              { ライブラリのメニューだけを取得します.\n}|
  675.               {  例「FTOWNS1/FFMUSER(1,2)/FFMPRO(10)」}|click,,
  676.             dispOne);
  677.         case(a<>{},
  678.         {Yes},{
  679.             dispOne:=a;
  680.             case(@checkForum(a),{Yes},{lib:=a; im({No})},
  681.                          ,{im({Yes})})
  682.         },{No},{
  683.             YesNo2({ ライブラリは未設定でよろしいですか?},
  684.                 {lib:={};
  685.             });
  686.             im({No});
  687.         })
  688.     });
  689.     footnote({});
  690. };
  691.  
  692. %setdiv{
  693.     var msg[10];
  694.     case(DivDisp={},{Yes},{DivDisp:={ORI}});
  695.     case(DivDisp,{ORI},{msg:={下}},{REV},{msg:={上}});
  696.     select({ 返信文書は画面のどちらで書きますか? }|
  697.             {(現在は「}|msg|{」です)},9999,{
  698.     },{  上で書く  },{DivDisp:={REV};
  699.     },{  下で書く  },{DivDisp:={ORI};
  700.     });
  701. };
  702.  
  703. %setins{
  704.     var msg[10];
  705.     case(InsHan={},{Yes},{InsHan:={TAIL}});
  706.     case(InsHan,{HEAD},{msg:={先頭}},{TAIL},{msg:={末尾}});
  707.     select({HPタイトルへのハンドル挿入タイプ(現在は「}|msg|{タイプ」)},
  708.             9999,{
  709.     },{  先頭タイプ (「ハンドル:~」) },{InsHan:={HEAD};
  710.     },{  末尾タイプ (「~<ハンドル」) },{InsHan:={TAIL};
  711.     });
  712. };
  713.  
  714. %setpatio{
  715.     var dispOne[1000];
  716.     %checkPatio{[text]
  717.         %topname @head(text,{,});
  718.         %id     @head(topname,{/});
  719.         %pass     @body(topname,{/},{/});
  720.         %pationame @tail(topname,{/});
  721.         case(@nochar(id)==8 && @nochar(pass)<=8 &&
  722.              @nochar(pationame)<=8,
  723.             {Yes},{
  724.                 case(topname ,
  725.                     text,{im({Yes})},
  726.                         ,{checkPatio(@body(text,{,}))})
  727.             },,{
  728.                 footnote({「}|topname|{」は文字数が合いません});
  729.                 im({No})
  730.         })
  731.     };
  732.  
  733.     dispOne:=patio;
  734.     loop({
  735.         %a @input({巡回するパティオを設定してください\n}|
  736.              {  形式「ID/パスワード/名前,ID2/パスワード2/名前2,,,」\n}|
  737.              {    ID:PATIO主催者のID パスワード:PATIOのパスワード\n}|
  738.              {    名前:英字8文字以下の名前(任意の識別名)\n}|
  739.              {   例「PFF00570/HACHIKOU/MOPROOM,}|
  740.                            {KKK00123/AKITAKEN/FUFUFU」}|click,,
  741.             dispOne);
  742.         case(a<>{},
  743.         {Yes},{
  744.             dispOne := a;
  745.             case(@checkPatio(a),{Yes},{ patio:=a; im({No}) },
  746.                            ,{        im({Yes}) })
  747.         },{No},{
  748.             YesNo2({ パティオを受信しなくてよろしいですか?},
  749.                 {hp:={};
  750.             });
  751.             im({No});
  752.         })
  753.     });
  754.     footnote({});
  755. };
  756.  
  757. %setguest{
  758.     var msg[10];
  759.     case(GUEST={},{Yes},{GUEST:={OK}});
  760.     case(GUEST,{OK},{msg:={する}},{NG},{msg:={しない}});
  761.     select({ 「GUEST」を発行しますか? (現在は「発行}|msg|{」)},
  762.     9999,{
  763.     },{  発行する },{GUEST:={OK};
  764.     },{ 発行しない },{GUEST:={NG};
  765.     });
  766. };
  767.  
  768. %setwtime{
  769.     var ReqHM[10];
  770.  
  771.     loop({
  772.         ReqHM:=@input(    {何時何分に起動しますか?.\n}|
  773.                 {  4桁の数字(hhmm)で返答して下さい.}|
  774.                 {(hh=00~23,mm=00~59)},,WTIME);
  775.         case(@nochar(ReqHM)=4 || ReqHM={},{Yes},{
  776.             im({No});
  777.         },,{footnote({ 4桁の数字(hhmm)で入力してください});
  778.             im({Yes})
  779.         });
  780.     });
  781.     footnote({});
  782.     case(@nochar(ReqHM)=4,{Yes},{WTIME:=ReqHM});
  783. };
  784.  
  785. %settmp{
  786.     %DRIVE{[Dri]
  787.         case(@setcdir2(Dri),
  788.         {Yes},{    tmpdir:=Dri;
  789.         },{No},{footnote({ そのドライブは使用できません});
  790.             tmpdir:={};
  791.         });
  792.     };
  793.     loop({
  794.         case(tmpdir={},{Yes},{tmpdir:=@getchar(current,1,2)});
  795.         select({ どのドライブを作業用にしますか?(現在は「}
  796.             |@getchar(tmpdir,1,1)|{」ドライブ)},9999,,
  797.         {  A  },{DRIVE({A:})},{  B  },{DRIVE({B:})},
  798.         {  D  },{DRIVE({D:})},{  E  },{DRIVE({E:})},
  799.         {  F  },{DRIVE({F:})},{  G  },{DRIVE({G:})},
  800.         {  H  },{DRIVE({H:})},{  I  },{DRIVE({I:})},
  801.         {  J  },{DRIVE({J:})},{  K  },{DRIVE({K:})},
  802.         {  L  },{DRIVE({L:})},{  M  },{DRIVE({M:})},
  803.         {  N  },{DRIVE({N:})},{  O  },{DRIVE({O:})},
  804.         {  P  },{DRIVE({P:})});
  805.         im(tmpdir={});
  806.     });
  807.     footnote({});
  808. };
  809.  
  810. %setprinter{
  811.     var msg[5];
  812.     case(PRINTER={},{Yes},{PRINTER:={fm}});
  813.     case(PRINTER,{fm},{msg:={FM}},{esc/p},{msg:={ESC/P}});
  814.     select({ どちらのプリンタを使いますか? (現在は「}|msg|{」プリンタ)},
  815.     9999,{
  816.     },{   FM   },{PRINTER:={fm};
  817.     },{ ESC/P },{PRINTER:={esc/p};
  818.     });
  819. };
  820.  
  821. %setfmgr{
  822.     footnote({ 呼び出すパイロットを指定してください}|
  823.         {(右クリックで設定なし)});
  824.     case(FmgrP<>{},{Yes},{ setcdir2(FmgrP); });
  825.     %f @filesel({PLT});
  826.     footnote({});
  827.     case(f={},
  828.     {Yes}, {FmgrP:={};
  829.         FmgrF:={};
  830.     },{No},{FmgrP:=@getcdir;
  831.         FmgrF:={#}|f;
  832.     });
  833. };
  834.  
  835. %setRGB{
  836.     var r[5];
  837.     var g[5];
  838.     var b[5];
  839.     %Getnum{[LINE]
  840.         getchar(@getline(a,LINE,1),2,1);
  841.     };
  842.     %three{[col]
  843.         case(@nochar(col),1,{im({  }|col)},2,{im({ }|col)},
  844.                   3,{im(col)});
  845.     };
  846.  
  847.     case(R,{},{R:=50}); case(G,{},{G:=80}); case(B,{},{B:=50});
  848.     loop({
  849.         r:=@three(R);
  850.         g:=@three(G);
  851.         b:=@three(B);
  852.  
  853.         %a     @plane(
  854.             {c 背景色を設定してください\n}|
  855.             {c\n}|
  856.             {s     /   +30   /   +30   /   +30\n}|
  857.             {s     /    +5   /    +5   /    +5\n}|
  858.             {c      R:}|r|{    G:}|g|{    B:}|b|{\n}|
  859.             {s     /    -5   /    -5   /    -5\n}|
  860.             {s     /   -30   /   -30   /   -30\n}|
  861.             {c\n}|
  862.             {s    /   終 了   \n}
  863.             );
  864.  
  865.         case(@Getnum(1),{1},{R:=R+30},{2},{G:=G+30},{3},{B:=B+30});
  866.         case(@Getnum(2),{1},{R:=R+5},{2},{G:=G+5},{3},{B:=B+5});
  867.         case(@Getnum(3),{1},{R:=R-5},{2},{G:=G-5},{3},{B:=B-5});
  868.         case(@Getnum(4),{1},{R:=R-30},{2},{G:=G-30},{3},{B:=B-30});
  869.         case(R>255,{Yes},{R:=255}); case(R<0,{Yes},{R:=0});
  870.         case(G>255,{Yes},{G:=255}); case(G<0,{Yes},{G:=0});
  871.         case(B>255,{Yes},{B:=255}); case(B<0,{Yes},{B:=0});
  872.         backclr(R,G,B);
  873.         case(@Getnum(5)==1,{Yes},{im({No})},{No},{im({Yes})});
  874.     });
  875. };
  876.  
  877. %setcug{
  878.     loop({
  879.         %a @input({ CUGの名前を入力してください},,
  880.                 cugname);
  881.         case(a<>{},
  882.         {Yes}, {cugname:=a;    im({No});
  883.         },{No},{
  884.             YesNo2({ CUGは未設定でよろしいですか?},
  885.                 {cugname:={};
  886.             });
  887.             im({No});
  888.         });
  889.     });
  890.     footnote({});
  891. };
  892.  
  893. %minimum{
  894.     var a[150];
  895.     var msg1[6];
  896.     var msg2[6];
  897.     %Getnum{[LINE]
  898.         getchar(@getline(a,LINE,1),2,1);
  899.     };
  900.     %Getline{[LINE]
  901.         head(@getline(a,LINE,1),{\n});
  902.     };
  903.     %data{
  904.         msg1:=@Getnum(2);
  905.             case(msg1,1,{line:={P}},2,{line:={T}});
  906.         case(@Getline(3)<>{},{Yes},{telno:=@Getline(3)});
  907.         msg2:=@Getnum(4);
  908.             case(msg2,1,{telty:={1200}},2,{telty:={2400T}},
  909.                   3,{telty:={9600}});
  910.         case(@Getline(5)<>{},{Yes},{id:=@Getline(5)});
  911.         case(@Getline(6)<>{},{Yes},{pass:=@Getline(6)});
  912.         case(@Getline(7)<>{},{Yes},{logd:=@Getline(7)});
  913.     };
  914.     %NowModem{
  915.         case(modem<>{},
  916.         {Yes},{    im(@head(@tail(modem,{/}),{_}));
  917.         },{No},{im({未設定});
  918.         });
  919.     };
  920.  
  921.     loop({
  922.         case(line,{P},{msg1:={1}},{T},{msg1:={2}});
  923.         case(telty,{1200},{msg2:={1}},{2400T},{msg2:={2}},
  924.                {9600},{msg2:={3}});
  925.         a:=@plane(
  926.         {c 各設定を行ってください(通信に最低必要な項目です)\n}|
  927.         {c\n}|
  928.         {s モデムの種類(現在は「}|@NowModem|{」)  /   選 択   \n}|
  929.         {r 電話回線の種類  / ダイヤルホン / プッシュホン \n}|
  930.         {t  アクセスポイントの電話番号  /xxxxxxxxxxxxxxx\n}|
  931.         {r FENICS LOAD     /ROAD1(1200)/ROAD2(2400)/ROAD3(9600)\n}|
  932.         {t NiftyのユーザID  /xxxxxxxx\n}|
  933.         {t Niftyのパスワードパスワード  /xxxxxxxx\n}|
  934.         {t 受信データの格納先 /xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n}|
  935.         {c  (英小文字は使用しないでください)\n}|
  936.         {c\n}|
  937.         {s   /   終 了   \n},
  938.         msg1,telno,msg2,id,pass,logd,
  939.         );
  940.  
  941.         case(@Getnum(1),1,{
  942.         setmodem;
  943.         data;
  944.         });
  945.  
  946.         case(@Getnum(8),
  947.         0,{    data;    im({Yes}); },
  948.         1,{
  949.         data;
  950.         case(modem<>{} && line<>{} && telno<>{} && telty<>{} &&
  951.                         @nochar(id)=8 && logd<>{},
  952.         {Yes},{
  953.             case(pass<>{},
  954.             {Yes},{    im({No});
  955.             },{No},{
  956.                 select({ 通信毎にパスワードを入力する}|
  957.                     {のですか?},9999,{im({Yes});
  958.                 },{ O K },{im({No});
  959.                 },{ N G },{im({Yes});
  960.                 });
  961.             });
  962.         },{No},{
  963.             select({ 未設定の項目がありますが?},9999,{im({Yes});
  964.             },{ 終了する },{im({No});
  965.             },{ 戻  る },{im({Yes});
  966.             });
  967.         });
  968.         });
  969.     });
  970. };
  971.  
  972. %putplp{[id,data]
  973.     madd(1,id|@xc({09})|{:=}|@xc({7b})|data|@xc({7d})|{;\n});
  974. };
  975.  
  976. %putusr{
  977.     case(mail={},{Yes},{mail:={NEW}});
  978.     case(BILL={},{Yes},{BILL:={OK}});
  979.     case(DivDisp={},{Yes},{DivDisp:={ORI}});
  980.     case(InsHan={},{Yes},{InsHan:={TAIL}});
  981.     case(PRINTER={},{Yes},{PRINTER:={fm}});
  982.     case(tmpdir={},{Yes},{tmpdir:=@getchar(current,1,2)});
  983.  
  984.     CloseAllMemo;
  985.     mclear(1);
  986.     putplp({SetupF},SetupF);
  987.     putplp({modem},modem);
  988.     putplp({telno},telno);
  989.     putplp({telty},telty);
  990.     putplp({telno2},telno2);
  991.     putplp({telty2},telty2);
  992.     putplp({telno3},telno3);
  993.     putplp({telty3},telty3);
  994.     putplp({Rmail},Rmail);
  995.     putplp({Smail},Smail);
  996.     putplp({mail},mail);
  997.     putplp({FmgrP},FmgrP);
  998.     putplp({FmgrF},FmgrF);
  999.     putplp({line},line);
  1000.     putplp({Itime},Itime);
  1001.     putplp({R},R);
  1002.     putplp({G},G);
  1003.     putplp({B},B);
  1004.     putplp({id},id);
  1005.     putplp({pass},pass);
  1006.     putplp({logd},logd);
  1007.     putplp({loga1},loga1);
  1008.     putplp({loga2},loga2);
  1009.     putplp({logb1},logb1);
  1010.     putplp({logb2},logb2);
  1011.     putplp({logc1},logc1);
  1012.     putplp({logc2},logc2);
  1013.     putplp({logh1},logh1);
  1014.     putplp({logm1},logm1);
  1015.     putplp({logl},logl);
  1016.     putplp({logf},logf);
  1017.     putplp({tmpdir},tmpdir);
  1018.     putplp({BILL},BILL);
  1019.     putplp({DivDisp},DivDisp);
  1020.     putplp({InsHan},InsHan);
  1021.     putplp({Handle},Handle);
  1022.     putplp({LIST},LIST);
  1023.     putplp({GUEST},GUEST);
  1024.     putplp({WTIME},WTIME);
  1025.     putplp({PRINTER},PRINTER);
  1026.     putplp({cugname},cugname);
  1027.     putplp({forum},forum);
  1028.     putplp({hp},hp);
  1029.     putplp({patio},patio);
  1030.     putplp({lib},lib);
  1031.     putplp({rtn},rtn);
  1032. };
  1033.  
  1034. %SetLog{
  1035.     loop({
  1036.     select({ 設定する項目を選択してください},99999,{im({No})},
  1037.     {掲示板ログのマージ先(ドライブ名・パス名)},    {setlogb; im({Yes}) },
  1038.     {会議室ログのマージ先(ドライブ名・パス名)},    {setlogc; im({Yes}) },
  1039.     {HPログのマージ先(ドライブ名・パス名)},    {setlogh; im({Yes}) },
  1040.     {メールのマージ先(ドライブ名・パス名)},        {setlogm; im({Yes}) },
  1041.     {マージ先設定処理を終了する},            {im({No})}
  1042.     );
  1043.     });
  1044. };
  1045.  
  1046. %settel{
  1047.     loop({
  1048.     select({ 設定する項目を選択してください},99999,{im({No})},
  1049.     {電話回線の種類(ダイヤル/プッシュ回線)},    {setline; im({Yes})},
  1050.     {最寄りのNiftyのアクセスポイントの電話番号},    {settelno; im({Yes})},
  1051.     {最寄りのアクセスポイントの種別(速度・ROAD1/2)},    {settelty; im({Yes})},
  1052.     {第2候補を設定する},                {settel2; im({Yes})},
  1053.     {第3候補を設定する},                {settel3; im({Yes})},
  1054.     {電話回線関係の設定処理を終了する},        {im({No})}
  1055.     );
  1056.     });
  1057. };
  1058.  
  1059. %setdata{
  1060.     loop({
  1061.     select({ 設定する項目を選択してください},99999,{im({No})},
  1062.     {受信ログの格納先(ドライブ名・パス名)},        {setlogd; im({Yes})},
  1063.     {ライブラリリストの格納先(ドライブ名・パス名)},    {setlogl; im({Yes})},
  1064.     {ライブラリデータの格納先(ドライブ名・パス名)},    {setlogf; im({Yes})},
  1065.     {受信データ設定処理を終了する},            {im({No})}
  1066.     );
  1067.     });
  1068. };
  1069.  
  1070. %setetc{
  1071.     loop({
  1072.     select({ 設定する項目を選択してください},99999,{im({No})},
  1073.     {  返信文書作成時の入力memoの上下},        {setdiv; im({Yes})},
  1074.     {  HPタイトルへのハンドル挿入のタイプ},    {setins; im({Yes})},
  1075.     {  巡回するパティオの設定},            {setpatio; im({Yes})},
  1076.     {  「GUEST」の発行の是非(HP,パティオ開設者のみ)  },    {setguest; im({Yes})},
  1077.     {  CUGの設定},                {setcug;   im({Yes})},
  1078.     {  時刻指定通信時の開始時刻のデフォルト},    {setwtime; im({Yes})},
  1079.     {  作業用ドライブの選択},            {settmp; im({Yes})},
  1080.     {  使用するプリンタの設定 (「FM」or「ESC/P」)},    {setprinter;im({Yes})},
  1081.     {  「外部呼出」で呼び出すパイロットの選択},    {setfmgr; im({Yes})},
  1082.     {  画面の背景色の設定},                {setRGB; im({Yes})},
  1083.     {  その他の設定を終了する},            {im({No})}
  1084.     );
  1085.     });
  1086. };
  1087.  
  1088. %setcmds{
  1089.     var IndexLine[82];
  1090.     var flag[3];
  1091.     %writedata{
  1092.         write(logd|{\UP\INDEX.TXT},
  1093.                 {保     LIB  :FTOWNS1 /02/ 0007:NYANE2X.EXE\n}|
  1094.                 {保     LIB  :FTOWNS1 /02/ 0002:TXF199K.LZH\n}|
  1095.                 {保    LIB  :FFMHOB  /04/ 0190:MS_CMDS.EXE\n}|
  1096.                 {保    LIB  :FFMUSER /01/ 0613:ZCOPY107.LZH\n}
  1097.         );
  1098.     };
  1099.     case(logd<>{},{Yes},{
  1100.         dispoff({Yes});
  1101.         case(@setcdir2(logd),{Yes},{
  1102.             command({mkdir }|logd|{\UP});
  1103.         });
  1104.         case(@fopen(logd|{\UP\INDEX.TXT}),
  1105.         {Yes},{
  1106.             flag:={};
  1107.             loop({
  1108.             IndexLine:=@fread;
  1109.             case(IndexLine,
  1110.                 {保     LIB  :FTOWNS1 /02/ 0007:NYANE2X.EXE\n},
  1111.                 {flag:={OK}; im({No})},
  1112.                 {保     LIB  :FTOWNS1 /02/ 0002:TXF199K.LZH\n},
  1113.                 {flag:={OK}; im({No})},
  1114.                 {保    LIB  :FFMHOB  /04/ 0190:MS_CMDS.EXE\n},
  1115.                 {flag:={OK}; im({No})},
  1116.                 {保    LIB  :FFMUSER /01/ 0613:ZCOPY107.LZH\n},
  1117.                 {flag:={OK}; im({No})},
  1118.                 {},    {flag:={NG}; im({No})},
  1119.                   ,    {im({Yes})
  1120.             });
  1121.             });
  1122.             fclose;
  1123.             case(flag<>{OK},{Yes},{writedata});
  1124.         },{No},{
  1125.             writedata;
  1126.         });
  1127.         dispoff({No});
  1128.     });
  1129. };
  1130.  
  1131. var loopon[5];
  1132. var postproc[5];
  1133. var mainmes[15];
  1134. allclear;
  1135. footnote({ 変更する定義ファイルを選んでください (右クリックで新規作成)});
  1136. SetupF:=@filesel({USR});
  1137. footnote({});
  1138. dispoff({Yes});
  1139. case(SetupF<>{},{Yes},{
  1140.     command({copy }|SetupF|{ TMP_SET.PLP});
  1141.     #TMP_SET.PLP;
  1142.     command({del TMP_SET.PLP});
  1143. });
  1144. dispoff({No});
  1145. putusr;
  1146. postproc:={sel};
  1147. case(SetupF<>{},{Yes},{mainmes:=SetupF},{No},{mainmes:={新規作成}});
  1148. loop({
  1149.     loopon := {Yes};
  1150.     select({設定する項目を選んでください《SETUP FILE : }|mainmes|{》},
  1151.     99999,{},
  1152.         {  設定処理を終了する},             {loopon:={No}},
  1153.         { †必要最小限の基本設定 (これだけで通信はOK)† },{minimum},
  1154.         {  タウンズに接続したモデムの種類(会社名,機種名)  },{setmodem},
  1155.         {  電話回線関係の設定},                {settel},
  1156.         {  NiftyのユーザID},                {setid},
  1157.         {  Niftyのパスワード(通信時に入れることも可能)},{setpass},
  1158.         {  受信データの格納先(ドライブ名・パス名)},    {setdata},
  1159.         {  ログのマージ先(ドライブ名・パス名)},        {SetLog},
  1160.         {  メール受信方法},                {setmail},
  1161.         {  手動通信時のアラーム間隔時間の設定},        {setintv},
  1162.         {  課金情報取得の有無},                {setbill},
  1163.         {  巡回するライブラリの設定(複数可能)},        {setlib},
  1164.         {  巡回するHPの設定(複数可能)},        {sethp},
  1165.         {  巡回するフォーラムの設定(複数可能)},        {setforum},
  1166.         {  その他の設定},                {setetc});
  1167.     im(loopon)
  1168. });
  1169. case(postproc={sel},
  1170. {Yes},{
  1171.     setcdir2(current);
  1172.     case(@filechk(SetupF),
  1173.     {Yes},{
  1174.         loop({
  1175.         select({変更した設定内容は?},99999,{im({Yes});
  1176.         },{ 元のファイルに保存 },{
  1177.             putusr;
  1178.             mwrite(SetupF,1);
  1179.             mwrite(curfile,1);
  1180.             setcmds;
  1181.             im({No});
  1182.         },{ 指定ファイルに保存 },{
  1183.             footnote({ 保存ファイルを指定してください});
  1184.             %file  @filesel({USR});
  1185.             %fname @head(file,{.})|{.USR};
  1186.             footnote({});
  1187.             case(@nochar(@head(file,{.}))>0,{Yes},{
  1188.                 case(@filechk(fname),{Yes},{delfile(fname)});
  1189.                 SetupF:=fname;
  1190.                 putusr;
  1191.                 mwrite(fname,1);
  1192.                 mwrite(curfile,1);
  1193.             });
  1194.             setcmds;
  1195.             im({No});
  1196.         },{   変更処理を中止   },{
  1197.             %Reset @memo(1);
  1198.             Reset;
  1199.             im({No});
  1200.         });
  1201.     });
  1202.     },{No},{
  1203.     case(@nochar(id)>0,
  1204.     {Yes},{ %fname    id|{.USR};
  1205.         SetupF:=fname;
  1206.         putusr;
  1207.         mwrite(fname,1);
  1208.         mwrite(curfile,1);
  1209.     });
  1210.     setcmds;
  1211.     });
  1212. });
  1213. allclear;
  1214.